[PATCH 26/26] libblkid: iso9660: allocate enough space for UTF16 decoding
authorThomas Weißschuh <thomas@t-8ch.de>
Thu, 10 Nov 2022 18:48:20 +0000 (19:48 +0100)
committerChris Hofstaedtler <zeha@debian.org>
Wed, 16 Nov 2022 10:32:57 +0000 (10:32 +0000)
commit4aa98156cee5cf28eb150c05609d53f22a309ac9
treec5823e2e7922209074fdfc6e6114217508818b54
parent807514678baf1c88a087b71a9cafc1e0c617922f
[PATCH 26/26] libblkid: iso9660: allocate enough space for UTF16 decoding

When merge_utf16be_ascii() encounters high-codepoint surrogate pairs it
emits four bytes of output for one byte of ascii input.
In addition with the remaining ascii characters from the second loop we
need up to 5 * sizeof(input) / 2 bytes as output buffer.

As we decode up to 128 ascii characters with merge_utf16be_ascii() we
need 320 bytes of buffer available.

Furthermore adapt merge_utf16be_ascii() to not write paste the output
buffer end.

Fix OSS-Fuzz issue 53149 ( #1887 )

Gbp-Pq: Topic upstream
Gbp-Pq: Name 0026-libblkid-iso9660-allocate-enough-space-for-UTF16-dec.patch
libblkid/src/superblocks/iso9660.c